package com.bawei.product.service.impl;

import com.bawei.common.core.utils.DateUtils;
import com.bawei.common.core.domain.Result;
import com.bawei.product.domain.MallProductInfo;
import com.bawei.product.mapper.MallProductInfoMapper;
import com.bawei.product.service.IMallProductInfoService;
import com.bawei.product.util.FastUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;
import java.util.List;


/**
 * 商品信息Service业务层处理
 *
 * @author ruoyi
 * @date 2024-05-26
 */
@Service
public class MallProductInfoServiceImpl implements IMallProductInfoService
{
    @Resource
    private MallProductInfoMapper mallProductInfoMapper;

    @Autowired
    FastUtil fastUtil;

    /**
     * 查询商品信息
     *
     * @param id 商品信息主键
     * @return 商品信息
     */
    @Override
    public MallProductInfo selectMallProductInfoById(Long id)
    {
        return mallProductInfoMapper.selectMallProductInfoById(id);
    }

    /**
     * 查询商品信息列表
     *
     * @param mallProductInfo 商品信息
     * @return 商品信息
     */
    @Override

    public List<MallProductInfo> selectMallProductInfoList(MallProductInfo mallProductInfo)
    {
        return mallProductInfoMapper.selectMallProductInfoList(mallProductInfo);
    }

    /**
     * 新增商品信息
     *
     * @param mallProductInfo 商品信息
     * @return 结果
     */
    @Override
    public int insertMallProductInfo(MallProductInfo mallProductInfo)
    {
        mallProductInfo.setCreateTime(DateUtils.getNowDate());
        return mallProductInfoMapper.insertMallProductInfo(mallProductInfo);
    }

    /**
     * 修改商品信息
     *
     * @param mallProductInfo 商品信息
     * @return 结果
     */
    @Override
    public int updateMallProductInfo(MallProductInfo mallProductInfo)
    {
        mallProductInfo.setUpdateTime(DateUtils.getNowDate());
        mallProductInfo.setCreateTime(DateUtils.getNowDate());
        return mallProductInfoMapper.updateMallProductInfo(mallProductInfo);
    }

    /**
     * 批量删除商品信息
     *
     * @param ids 需要删除的商品信息主键
     * @return 结果
     */
    @Override
    public int deleteMallProductInfoByIds(Long[] ids)
    {
        return mallProductInfoMapper.deleteMallProductInfoByIds(ids);
    }

    /**
     * 删除商品信息信息
     *
     * @param id 商品信息主键
     * @return 结果
     */

    @Override
    public int deleteMallProductInfoById(Long id)
    {
        return mallProductInfoMapper.deleteMallProductInfoById(id);
    }

    @Override
    public Result uploadMallProductInfoByIds(MultipartFile file) {
        String upload="";

        try {
            upload = fastUtil.upload(file);
            if(upload==null){
                return Result.error("上传失败");
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return Result.success("http://1.95.38.198:8888/"+upload,"上传成功");
    }

    @Override
    public Result upFlag(Integer id)
    {
        Integer i = mallProductInfoMapper.upFlag(id);
        return Result.success(i>0?200:500,i>0?"上架成功":"上架失败");
    }

    @Override
    public Result downFlag(Integer id) {
        Integer i = mallProductInfoMapper.downFlag(id);
        return Result.success(i>0?200:500,i>0?"下架成功":"下架失败");
    }


}
